#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QDebug>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
   //重新设置窗口大小
   resize(600, 400);

   //菜单栏 只能最多有一个
   //菜单栏创建
   QMenuBar * bar = new QMenuBar();
   //将菜单栏放入窗口中
   setMenuBar(bar);

   //创建菜单
   QMenu* fileMenu = bar->addMenu("文件");
   QMenu* editMenu = bar->addMenu("编辑");

   //创建菜单项
   QAction* newAction = fileMenu->addAction("新建");
   //添加分割线
   fileMenu->addSeparator();
   QAction* openAction =fileMenu->addAction("打开");

   //工具栏可以有多个
   QToolBar* toolBar = new QToolBar(this);
   addToolBar(Qt::LeftToolBarArea, toolBar);
   //设置只能停靠的位置
   toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

   //设置浮动
   toolBar->setFloatable(false);
   //设置移动  可以说是工具栏是否可以移动的总开关
   toolBar->setMovable(false);

   //工具栏中可以设置
   toolBar->addAction(newAction);
   toolBar->addSeparator();
   toolBar->addAction(openAction);

   //工具栏中添加控件
   QPushButton* btn = new QPushButton("按钮", this);
   toolBar->addWidget(btn);

   //状态栏最多有一个
   QStatusBar* staBar = statusBar();
   //设置到窗口中
   setStatusBar(staBar);
   //放标签控件
   QLabel* lable = new QLabel("提示信息", this);
   staBar->addWidget(lable);
   QLabel* lable2 = new QLabel("Right提示信息", this);
   staBar->addPermanentWidget(lable2);

   //铆接部件  （浮动窗口） 可以有多个
   QDockWidget* dockWidget = new QDockWidget("浮动", this);
   addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
   //设置后期停靠区域，只允许上下
   dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);

   //设置中心部件
   QTextEdit* edit = new QTextEdit(this);
   setCentralWidget(edit);
}

MainWindow::~MainWindow()
{

}
